Technical Field
The present disclosure generally relates to providing secure communications for users of electronic devices running native apps and, more particularly, for facilitating authenticated communication sessions from a client device using both native applications and web browsers concurrently from the same device.
Related Art
Consumer mobile devices—such as smart phones, personal digital assistants, note pads, web-enabled pods, and players—and other devices—such as point of sale (POS) terminals and ticket kiosks—may provide functionality to the user of the device by executing application software, known as “apps”. A “native” app—which may be downloadable or may come pre-packaged with hardware or an operating system, for example—is typically a software application specially designed to execute on a particular device, and there are many well-known apps for various particular mobile devices. Functionality may also be provided via what may be known as a “web app”, which is not a piece of downloadable software, but actually a web site that is optimized for viewing, for example, on a particular mobile device, such as an iPhone®. For a software developer, creating a true native app (e.g., application programming interface (API)-based module) may take anywhere from 5 to 20 times more effort to implement and push to production than re-using an already built and available web-based functionality.
Both native apps and web apps may provide relative advantages, however, depending on the functionality desired to be obtained. For example, use of a native app may be better for situations in which the functionality of the app needs to take advantage of features built into a device, such as motion detection, voice recording, voice recognition, camera, and global positioning system (GPS). A native app may be better if it is desired for the content or service provided by the app to be available offline (e.g., in the absence of an Internet connection). On the other hand, use of a web app may be better for situations in which a web site and its content already exists and it is desired to provide the same content to many users, optimized for viewing by users of many different types of devices.